package com.jinzhi.jzweb.service.moduleConfig;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.pojo.ModuleConfig.JzJinzhuanDispositionModule;
import com.jinzhi.jzweb.pojo.ModuleConfig.JzJinzhuanModuleDetail;
import com.jinzhi.jzweb.pojo.ModuleConfig.ModuleTopicMarkVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  模版服务类
 * </p>
 *
 * @author JingChangTian
 * @since 2023-06-16
 */
public interface IJzJinzhuanDispositionModuleService extends IService<JzJinzhuanDispositionModule> {

    /**
     * 新增模版
     * @param jzJinzhuanDispositionModule
     * @return
     */
    boolean insertModule(JzJinzhuanDispositionModule jzJinzhuanDispositionModule);

    /**
     * 多条件查询模块方法
     * @param jzJinzhuanDispositionModule
     * @return
     */
    List<JzJinzhuanDispositionModule> getModuleList(JzJinzhuanDispositionModule jzJinzhuanDispositionModule);

    /**
     * 多条件查询模块方法
     * @param jzJinzhuanDispositionModule
     * @return
     */
    Page<JzJinzhuanDispositionModule> getPageModuleList(JzJinzhuanDispositionModule jzJinzhuanDispositionModule);

    /**
     * 删除模块以及所属任务
     * @param ids
     * @return
     */
    boolean deleteModuleById(List<Long> ids);

    /**
     * 修改模块信息，所属任务先新增，在删除达到修改目的
     * @param jzJinzhuanDispositionModule
     * @return
     */
    boolean updateModuleById(JzJinzhuanDispositionModule jzJinzhuanDispositionModule);


    /**
     * 获取考生成绩模版
     * @param moduleTopicMarkVo
     * @return
     */
    Result selectModule(ModuleTopicMarkVo moduleTopicMarkVo);


    /**
     * 获取任务模板信息
     * @param
     * @return
     */
    List<JzJinzhuanModuleDetail> selectModuleDetail(Map  map);

}
